Zruseni podadresaru
Otázka od: Stráník František Ing.
13. 11. 2002 19:51
Pratele,
znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem adresari ?
Diky za informaci
zdraví
František STRÁNÍK
Odpovedá: Ján Harman
13. 11. 2002 20:18
toto pouzivam s uspechem. Vymaze vse co v adresari je a ev. i samotny
adresar. Neni to moje, mam to tady z konference. Honza.
Procedure KillDirectory(Directory: String; Remove: Boolean);
{ Vymaze obsah adresare vcetne podadresaru. Pokud Remove=true, zrusi i
adresar Directory }
const
AnyFileButDir = faAnyFile and (not faDirectory) and (not faVolumeID);
procedure KillSubDirs(Const baseDir: String); // Base dir ma backslash
var SavedDir : String;
Srec : tSearchRec;
aDosError: Integer;
begin
aDosError := FindFirst(BaseDir+'*.*',faDirectory,Srec);
Try
While aDosError = 0 do begin
if ((Srec.Attr and faDirectory) <> 0) and
(Srec.name <> '.') and
(Srec.name <> '..') then begin
SavedDir := BaseDir+Srec.name;
KillSubDirs(SavedDir+'\');
RmDir(SavedDir);
end;
aDosError := FindNext(Srec);
end;
Finally
SysUtils.FindClose(Srec);
End;
aDosError := FindFirst(BaseDir+'*.*',AnyFileButDir,Srec);
if aDosError = 0 then
Try
While aDosError = 0 do begin
SavedDir := BaseDir+Srec.name;
DeleteFile(PChar(SavedDir));
aDosError := FindNext(Srec);
end;
Finally
SysUtils.FindClose(Srec);
End;
end;
begin
KillSubDirs(Directory+'\');
if Remove then RmDir(Directory);
end;
Pratele,
znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem adresari
?
Diky za informaci
zdraví
František STRÁNÍK
Odpovedá: Petr Vones
17. 11. 2002 15:16
From: "Stráník František Ing." <FStranik@cpoj.cz>
> znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem
> adresari ?
Napriklad DelTree (JclFileUtils) z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195
http://delphi-jedi.org/CODELIBJCL
Petr Vones